#pragma once
#include "client/windows/handler/exception_handler.h"
#include <memory>
#include <string>

class CrashHandler {
public:
    static bool Initialize(const std::wstring& dumpPath);
    static void Cleanup();
    static void SetUserInfo(const std::string& userId, const std::string& userName);

private:
    static bool DumpCallback(const wchar_t* dump_path,
                           const wchar_t* minidump_id,
                           void* context,
                           EXCEPTION_POINTERS* exinfo,
                           MDRawAssertionInfo* assertion,
                           bool succeeded);
    
    static std::unique_ptr<google_breakpad::ExceptionHandler> handler_;
    static std::string userId_;
    static std::string userName_;
}; 